home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / VMETAFIL.DEF < prev    next >
Encoding:
Modula Definition  |  1992-05-28  |  2.3 KB  |  89 lines

  1. DEFINITION MODULE VMetafile;
  2.  
  3. (*
  4. VDI Metafile Functions.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM VDI    IMPORT XY,Integer,Point;
  12. FROM PORTAB IMPORT ANYBYTE,SIGNEDWORD,UNSIGNEDWORD,ANYWORD;
  13.  
  14. TYPE MetaHdr = RECORD
  15.                  MFHeader : SIGNEDWORD; (* -1 *)
  16.                  MFHeadLen: UNSIGNEDWORD;
  17.                  MFVersion: UNSIGNEDWORD;
  18.                  MFNDCRCFl: UNSIGNEDWORD;
  19.                  MFExtents: ARRAY[0..3] OF XY;
  20.                  MFPageSiz: ARRAY[0..1] OF UNSIGNEDWORD;
  21.                  MFCoords : ARRAY[0..3] OF XY;
  22. #if linear
  23. #if fill_byte
  24.                  FillByte: ANYBYTE;
  25. #endif
  26. #endif
  27.                  MFImgFlag: BOOLEAN;
  28. #if intel
  29. #if fill_byte
  30.                  FillByte: ANYBYTE;
  31. #endif
  32. #endif
  33.                  MFResvd  : ARRAY[0..8] OF ANYWORD;
  34.                END;
  35.  
  36. (* [V]DI: Update [Meta]file [Extents] **************************************)
  37.  
  38. PROCEDURE VMetaExtents(Handle: UNSIGNEDWORD;
  39.                        MinX  : XY;
  40.                        MinY  : XY;
  41.                        MaxX  : XY;
  42.                        MaxY  : XY);
  43.  
  44. (* [V]DI: [Write] [Meta]file Item ******************************************)
  45.  
  46. CONST StartGroup = 10;
  47.       EndGroup   = 11;
  48.  
  49.       BezQual = 32;
  50.  
  51.       NoLineStyle = 49;
  52.  
  53.       Shadow   = 50;
  54.       NoShadow = 51;
  55.  
  56.       StartArea = 80;
  57.       EndArea   = 81;
  58.  
  59.       VerApp = 101;
  60.  
  61.       MetaColor = 102;
  62.  
  63. PROCEDURE VWriteMeta(    Handle  : UNSIGNEDWORD;
  64.                          NumIntIn: UNSIGNEDWORD;
  65.                      VAR MyIntIn : ARRAY OF Integer;
  66.                          NumPtsIn: UNSIGNEDWORD;
  67.                      VAR MyPtsIn : ARRAY OF Point);
  68.  
  69. (* [V]DI: [M]etafile Physical [Page] [Size] ********************************)
  70.  
  71. PROCEDURE VMPageSize(Handle  : UNSIGNEDWORD;
  72.                      PgWidth : UNSIGNEDWORD;
  73.                      PgHeight: UNSIGNEDWORD);
  74.  
  75. (* [V]DI: [M]etafile [Coord]inate[s] Window ********************************)
  76.  
  77. PROCEDURE VMCoords(Handle: UNSIGNEDWORD;
  78.                    X1    : XY;
  79.                    Y1    : XY;
  80.                    X2    : XY;
  81.                    Y2    : XY);
  82.  
  83. (* [V]DI: [M]etafile Change GEM VDI [File] [Name] **************************)
  84.  
  85. PROCEDURE VMFileName(    Handle: UNSIGNEDWORD;
  86.                      VAR Name  : ARRAY OF CHAR);
  87.  
  88. END VMetafile.
  89.